package collection;
import java.util.ArrayList;
import java.util.List;


/**
 * List接口:
 * 1.List接口继承自Collection接口，为有序(存取一致)、可重复、有下标的集合
 * 2.有两个常见的实现类:
 *   1)ArrayList:内部使用动态数组实现，查询性能更好(直接下标找到物理地址)、增删性能不好
 *   2)LinkedList:内部使用链表实现，只记首尾，所以首尾元素查询和增删性能好，中间元素查询和增删性能不好
 * 3.List集合常用功能: get()获取元素、set()设置元素
 */
public class ListDemo1 {
    public static void main(String[] args) {
        //创建一个List集合
        List<String> list = new ArrayList<String>();
        list.add("one");
        list.add("two");
        list.add("three");
        list.add("four");
        list.add("five");
        System.out.println("list: " + list);    //输出集合
        String e=list.get(3);       //输出集合下标为3的元素，并且赋值给String类型的e
        System.out.println(e);      //输出获取到的值：four

        list.set(2, "six");         //将下标为2的元素修改为six-->常规用法
        System.out.println("list: " + list);    //输出集合

        String old = list.set(4, "seven");      //将下标为4的元素修改为”seven“，并且将该下标旧值赋值给old
        System.out.println(old);                //输出old变量值，five
        System.out.println("list: " + list);
    }
}
